package com.cskaoyan.java._1myexception;

/**
 * 自定义异常?
 * 这一节就回答两个问题就学会了:
 *      1,为什么要自定义异常?
 *      2,怎么自定义异常?
 *
 * 源码中的异常意味着程序员能用,Java开发者也会用
 * 这个异常可以由程序员手动抛出,也会被JDK源码抛出
 * 这时是不能精确定位的
 *
 * 那么如果有一个异常,是自定义的,只能程序员手动抛出
 * 于是当看到这个异常时,就能够直接定位问题了
 * 而且可以做出专属的处理方式
 * 自定义异常体现了一个专属性,专属于程序员,其他代码中是不能抛出这个异常的
 *
 * @since 17:26
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        try {
            test();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }

    // 假如方法除了throw抛出IllegalArgumentException以外,本身也能抛出这个异常,会怎么样?
    public static void test() {
        throw new IllegalArgumentException("参数是错误的!");
    }
}
